﻿using sjt_console20200529.oop;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace sjt_console20200529
{
    class Program
    {
        static void Main(string[] args)
        {
            // 类的继承
            Test01();
            // 暂停
            Console.Read();
        }
        /// <summary>
        /// oop --类的继承、抽象类
        /// 
        /// </summary>
        static void Test01()
        {
            // 创建一个类的实例对象
            Person person = new Person();
            // 调用setter方法接口，进行属性赋值
            person.PerAge = 23;
            // 行为的调用
            person.DoEating();

            Console.WriteLine("调用子类的方法：");
            // 创建一个Student的实例对象
            Student stu = new Student();
            // 调用继承自父类的setter方法接口
            stu.PerName = "小明同学";
            stu.DoEating();

            // 抽象类不能够直接使用new实例创建
            Robot robot;// = new Robot() ;
            Console.WriteLine("==============================");
            // 多态：父类指代子类
            Person per2 = new Student();
            per2.DoEating();// 执行的是子类，要求有override修饰符
        }
    }
}
